{{indexmenu_n>14}}

=====Playground=====

This is is a private area for new development. Specs, Documentation on active projects, etc.

  - [[https://opencpn.org/wiki/dokuwiki/doku.php?id=playground:template|Template]]
  - [[https://opencpn.org/wiki/dokuwiki/doku.php?id=playground:canvas|Canvas]]


====MUI A-Test Starts - Dave Email 9/27====

As anticipated, here starts the first  A-test of OCPN 4.99.927 MUI.

Windows:
https://www.dropbox.com/s/d8mu50pz6nwxx0x/opencpn_4.99.927_setup.exe?dl=0

linux:	github branch "MUI".

===Notes:===
  - Some description of the MUI concept follows.  Nothing cast in stone yet. Comments all appreciated.
  - Lots to test here, including:
    * Regressions on chart display of any sort.
    * Inconsistencies/omissions/errors in the general UI concept, as well as obvious implementation errors.
    * Plugins in general.  Some will need rebuild for O5 before they can be tested.
    * Installation/upgrade problems, especially from baseline 4.8.6 install.
  - Known problems: There are many missing features yet, and some things that just don't work. Will be implemented-fixed all in good time.
  - Meanwhile, do not go crazy trying to make some obscure thing work. It may be simply not implemented for multi-canvas or MUI yet.
  - Examples of unimplemented stuff: Some default (Panic button) user configs. Need a few more icons built. etc.
  - Please help me find these missing items.
  - I have not even tried to build on Mac.  Next on my punch list. There are some design issues. For instance, I do not know how the Mac Menu bar will be managed yet.
  - I remind new A-Team testers that this code is not yet ready for public consumption.  Let us keep our discussion here in the galley until ready for wider Beta testing.

So, we start.  Thanks in advance for your help.

Dave


=====Introduction to the OpenCPN Version 5 Modern User Interface (MUI)=====
(FOR INTERNAL USE ONLY.  NO NOT REDISTRIBUTE)

====Motivation.====

  - The UI for OpenCPN V4.X has become somewhat dated in appearance.  It has a distinctly "XP-like" layout and toolbar graphics style.  There have been many improvements to UI methods and appearance in the world-wide-web in the past few years, including things such as "flat" icon design, animated toolbars, side drawers, etc.  O5 needs to incorporate some of these improvements in order to remain current and attractive.
    * For a reference point demonstrating some of the MUI concepts discussed here, please take a look at https://maps.google.com/maps. Note the sliding options/info drawer on the left, and the fixed minimal control bar on the lower right.
  - O5 includes the idea of multiple chart canvas support. The single UI toolbar used on O4.X is not well suited to management of this model.
  - The OpenCPN user base is expanding horizontally to include many new users, often inexperienced in ECS use. Simplification of the initial presentation UI is desired, without loss of any support for more complex configurations by experienced users.

====Implementation/Detail.====

  - MUI is arranged to split the UI tools into two groups based on frequency of use.
  - MUI is also arranged to split UI tasks into "global" and "per-canvas" categories.
  - There is a good correspondence between the two arrangements. Global settings E.G. communication settings, chart catalog management, plugins, etc. tend to be be rarely changed. Per-canvas settings e.g. ENC display content, chart group, etc. likely are accessed more frequently.  Accordingly, MUI has multiple methods for configuring options and settings. The design is layered, with some settings having multiple methods of access.
  - The global toolbar is fixed and not movable in a vertical position on the left side of the screen. Here one finds options and settings infrequently accessed. Settings configured by this toolbar apply to all displayed chart canvases (e.g. units presentation, GL options, language, etc). To recover all possible chart display area, the global toolbar may be hidden by touching the 3-bar icon, or automatically by configurable timer.
  - The canvas control bar is located in fixed position at the lower right corner of each canvas. It contains the most often used buttons for chart zooming, and a 3-bar button for access to the expanded per-canvas settings dialog. 
  - The per-canvas settings dialog contains items  of more frequent use pattern. These items apply only to the specific canvas selected. Changing settings in this dialog takes effect immediately on-screen. There are no "apply", "OK", or "cancel" buttons. 
  - The per-canvas settings dialog allows the inclusion of a per-canvas toolbar. This toolbar is similar to the legacy O4.X toolbar, but contains only those tools relating specifically to per-canvas display content and control. This toolbar is configurable and movable. I expect this toolbar to be infrequently shown, and only for some specific use patterns.
  - Each canvas contains an independent context menu, accessed by mouse right-click. The items available in the context menu apply to the
specific canvas selected. The context menu is simplified somewhat, to provide less complexity for new users.

====Miscellany====

  - Plugins: O5 will require all plugins to be rebuilt, due to the upgrade in wxWidgets API. Simultaneously, the OCPN plugin API will be
updated to allow plugins to have access to the multi-canvas model of O5.  However, it is intended that legacy plugins which are unaware of
multi-canvas architecture will function in some usable manner without redesign. Advanced plugins, particularly those that render canvas
overlays, may benefit from awareness of the base canvas configuration. I am thinking of radar overlay, here, for example.
 - To be continued


